# -*- coding: utf-8 -*-

from django.contrib import admin

from comum.models import Email, Endereco, Orgao, Pessoa, Setor, Telefone,\
    Estacao
from comum.forms import PessoaForm, EnderecoForm, TelefoneForm

admin.site.register(Email)
admin.site.register(Endereco)
admin.site.register(Orgao)
admin.site.register(Setor)
admin.site.register(Telefone)
admin.site.register(Estacao)

##########
# INLINE #
##########

class EmailInline(admin.StackedInline):
    model = Email
    fields = ['email']
    extra = 1

class TelefoneInline(admin.StackedInline):
    model = Telefone
    form = TelefoneForm
    fields = ['tipo','telefone']
    extra = 1

class EnderecoInline(admin.StackedInline):
    model = Endereco
    form = EnderecoForm
    fields = ['logradouro','numero','complemento','bairro','municipio','estado', 'cep']
    extra = 1

##########
# PESSOA #
##########

class PessoaAdmin(admin.ModelAdmin):
    form = PessoaForm
    search_fields = ['nome', 'cpf']
    list_display = ['nome', 'cpf', 'get_data_nascimento']
    fieldsets = [
        ('Dados Pessoais', {'fields': ['nome','sexo','nome_mae','nome_pai','data_nascimento','naturalidade','nacionalidade','estado_civil','cpf','rg','uf','via_documento']}),
    ]
    inlines = [EmailInline,TelefoneInline,EnderecoInline]
    
    def get_data_nascimento(self, obj):
        return obj.data_nascimento.strftime("%d de %b. de %Y")
    get_data_nascimento.allow_tags = True
    get_data_nascimento.admin_order_field = 'data_nascimento'
    get_data_nascimento.short_description = 'Data de Nascimento'
admin.site.register(Pessoa, PessoaAdmin)